import { RouteRecordRaw } from 'vue-router'
import { userInfoModel } from '@/api/model/userModel'
import { AllDictModel } from '@/api/model/dictModel'
import { menuItem } from '@/api/model/menuModel'
export type userInfo<T> = {
  [key in keyof T]?: T[key]
}
export type userState = {
  userInfo: userInfo<userInfoModel>
  userMenu: RouteRecordRaw[]
  noDisplayMenu: RouteRecordRaw[]
  userPermi: menuItem[]
  cacheList: string[]
  dict: AllDictModel
  oauth: {
    userId: number | null
    token: string
    refreshToken: string
    expiresIn: number
  }
}
